There is a growing interest in the development and use of 3D graphics animation for realistic visual simulations of physical and natural phenomena. Among other industries, the entertainment industry seeks to develop and use such simulations in movies and virtual reality computer games. Among many other challenges, simulating and rendering liquids including diffuse liquids is a difficult problem in computer graphics. The behavior and appearance of gaseous phenomena is physically complex. Simulation research has attempted to reduce the problem to specific kinds of gases. Solving the simulation of diffuse liquids problem is advantageous in that it is a subset of applications for more general work in flow modeling and translucent volume rendering.
Simulation methods attempt to produce realistic images by approximating the physical processes within gaseous phenomena, such as waves in water, plumes in hot gas, flames in fire, and condensation in clouds. Computational fluid simulations can produce what appear to be realistic images and movement of gaseous phenomena. However, large scale high-quality simulation severely taxes commodity computational resources even with the recent breakthroughs in real-time fluid simulation. Modeling amorphous phenomena by conventional simulation approaches is a slow offline process. Artists utilizing these approaches currently use and manipulate low-complexity avatars as placeholders for high-quality simulation. Fine tuning the results of these approaches is a very slow, iterative process. The tweaking of physical parameters may result in no observable consequence or may give rise to undesirable side-effects, including the loss of precision and numeric instability. Unpredictable results may be introduced from approximations in low resolution calculations during trial renderings. Physics-based interfaces can also be very cumbersome and non-intuitive for artists to express their intention and can limit the animation by the laws of physics.
In contrast to these known methods, the procedural approach can easily approximate phenomenological modeling techniques by generalizing high-level formation and evolution characteristics. These methods rely on mathematical primitives, such as volumetric implicit functions, fractals, Fourier synthesis, and noise to create the basic, structure of the clouds. The procedural approach often produces more controllable results than true simulation and in much less time. First, these models formulate the high-level cloud structure, such as fractal motion or cellular automata. Then, the model is reduced to renderable terms, such as fractals, implicits, or particles. Many versions of this approach use volumetric ellipsoids to roughly shape natural phenomenon, then add detail procedurally.
Currently, interactive gaseous environments are designed by using physically-based models or qualitative approximations to efficiently emulate the phenomena. Qualitative approximations are typically more effective as a modeling tool, but may not realistically capture the important nuances provided through a more exhaustive simulation.
Gas modeling poses a computational and modeling dilemma, balancing accuracy and efficiency. Realistic fluid dynamics is modeled over a spatial and temporal continuum. Choosing appropriate numerical approximations, along with sufficiently scaling resolution, plays an important role in achieving realistic yet efficient results. By making assumptions about the medium's behavior, approximations can be made for the gas structure and motion.
Physically-based approaches are the most common method to computationally simulate gases. Typically, Navier-Stokes equations are used for ideal incompressible fluid flow. For example, a flow field ξ:
                                          ∂            ξ                                ∂            t                          =                                            -                              (                                                      ξ                    T                                    ∇                                )                                      ⁢            ξ                    -                                    ∇              p                        ρ                    +                                    v              ⁡                              (                                                      ∇                    T                                    ∇                                )                                      ⁢            ξ                    +          f                                    (                  Equation          ⁢                                          ⁢          1                )                                                      ∇            T                    ⁢          ξ                =        0                            (                  Equation          ⁢                                                            ⁢                                                          ⁢          2                )            where scalars ρ represents material density, p its pressure, and vits viscosity. The symbol ∇ represents a vector of spatial partial derivatives. In 3D, ∇=[∂/∂x, ∂/∂y, ∂/∂z]T. The first term in Equation 1 advects velocities through the velocity field (“self-advection”). The second term diffuses velocity along the pressure gradient, and the third dampens flow by viscosity. The final term includes any external forces such as gravity or user interaction by f. Equation 2 simply states flow field are divergence-free, thus preserving energy.
Much effort has been focused on developing solvers. To ensure unconditional stability of the Eularian solvers' numerical techniques, the method of characteristics is used, and a Hodge decomposition isolates divergent forces violating incompressibility. Simply removing these forces and grid based aliasing leads to numerical dissipation, motivating techniques reseeding energy, and staggered grids.
Even with these improvements, models are usually adapted to the task at hand. Solvers have been specially suited to simulate fire, smoke, and clouds. Other simulators additionally integrate strain and stress to simulate and control viscous and viscoelastic fluids. To support even larger domains, special grid structures have been developed to approximate intermediate values and implement octree encoding.
As gas and water simulations in computer graphics run faster and appear more realistic, more attention has been focused on controlling fluid flows. Early work used flow primitives to apply a particular kind of force in a primitive's vicinity. More sophisticated techniques seek solving for the forces necessary to push density from one defined configuration to another. This problem of keyframing densities can be presented as a problem of optimizing the driving forces and calculating the inter-frame derivatives. New solutions employ the adjoint method, or avoid optimization using coarser closed-form approximations.
Lagrangian simulations give rise to useful control techniques, but it is difficult to efficiently model continuous interfaces and varying densities of media exclusively with particle-particle interaction. In most cases simulations are reserved for fluids where interfaces are surfaces. In flow, it is not uncommon to combine both representations to leverage additional control, add additional particulate detail, preserve interfaces boundaries in fluids, and to preview more lengthy simulations.
In addition to physically-based approaches, there are also qualitative approaches. Addressing gas modeling issues of performance and control, procedural models are used to generate gaseous structures and motion. Rather than recreating the dynamics of the gassy media, procedural methods pursue simple mathematical primitives encapsulating the higher-level structure and flow behavior. These models may also be simpler to render, smaller to store, so that some applications convert grid-based volumes to procedural forms for this reason.
Blobbly models—also known as metaballs, implicit models, soft objects, or simply blobbies—provide a popular representation for billowy gases, a subvolume of density, or, for example clouds. These substructures are expressed with a Gaussian function or some other distance-based function. Provided their smooth blending, they make an intuitive modeling primitive to roughly shape clouds. Additional detail can be generated with noise, but in some approaches, automatically generated blobs are small enough to be directly rendered.
Procedural noise can also be used to create the basic structure of the clouds, along with fractals and Fourier synthesis. This provides a less controllable paradigm to shape gases, as they are intentionally unstructured and chaotic.
Slow kinds of gas motion can be emulated with basic texture warping and moving the underlying modeling primitives. More sophisticated approaches build phenomenological models with fractal motion or cellular automata to more realistically evolve gas motion. These methods still rely on some underlying primitive to render, and are usually combined with the previous primitives to produce a complete modeling and rendering system.
Correct gas illumination and shading is a difficult problem that must be addressed to produce convincing images and animations. Realistic radiosity solutions consider every visible point indirectly affected by all other points in space, posing a computationally exhaustive mathematical model. To pursue more efficient formulations, less general approaches are often considered, specifically directed to the respresentation clouds, fog, fire, and dust. Through appropriate limiting assumptions, the radiosity can be reduced to a more manageable approximation. An equally challenging issue is representing this model in a renderable form. Ultimately, the gas must be projected onto a 2D screen, and must consider the related operations whether gas is modeled as a surface, discretized, or a continuous volume.
Physically-based approaches in computer graphics relative to gas illumination include early work directed to planetary light scattering in the atmosphere, producing blue and red skies. Basic planetary-scale clouds represented as surfaces accurately model light diffusion, accounting for reflection, absorption, and scattering by approximating the media's physical properties. Medium-scale clouds were produced using only surface reflectivity of user-created ellipsoids and modulating their opacity. This method was adapted to graphics acceleration hardware by using hardware-supported blending functions, and a method of rendering to off-screen buffers to perform an additional rendering pass. Through volume rendering, various lighting phenomena can be simulated. This extends the reflective and transmissive diffusion process of surfaces continuously through 3D densities.
With reference to FIG. 1, spatial variables are used in a volumetric rendering equation. For an observer at point x, looking through the scalar field d( ), onto a background point b, with a single light source at point l, with d(s) as the volume density at point s, rendering can be generally expressed in terms of the volumetric rendering:L(x)=L(b)T(b,x)+∫xbT(s,x)g(s)f(s)T(l,s)L(l)ds  (Equation 3)where L(b) is the background color or sky texture, L(l) is the color of the light source, g(s) is the emissive scattering term at point s, f( ) its reflectivity, and T(x, y) is the total opacity of the volume from x and y:T(x,y)=e−∫yxd(s)ds  (Equation 4)
Equation 3 integrates through the visible volume, which in turn is lit by the fraction of light penetrating and reaching it through the volume. This approximation does not account for light scattering throughout the gas, which are significantly complicated calculations. Whereas Equation 4 only considers visible contribution along a ray, more complex phenomena must consider all the surrounding area as an emissive source.
Where present techniques only consider visible contribution along a ray, more complex phenomena must consider all the surrounding area as an emissive source. With a more general volumetric lighting model, previous work in surface shaded clouds have been extended to volumetric models using ray-tracing. Many methods have been proposed to account for more complex scattering effects instrumental in illuminating diffusive gasses and dramatic beams of light. This has been achieved through light-path integration, diffusion-based radiance point spreading, volumetric photon mapping, and simple analytic solutions through asserting assuming media homogeneity, particularly useful for skies.
Modern graphics accelerators enable high quality volume rendering at interactive rates using texture-based volume slicing. A fully interactive volume rendering model with limited scattering has been implemented by combining lighting and rendering passes, which can be further extended to physically-based lighting phenomena.
Provided the complexity of realistically conveying gas illumination by simulating light through translucent media, appearance oriented qualitative models have been developed. Efficiency can be improved by approximating volumetric elements with a collection of spherical primitives, and using an off-screen buffer to generate a shadow volume. Using a shadow buffer relies on both rendering to the buffer to accumulate the light extinction, and reading it back to for rendering. Since the loop back path from the shadow buffer to render buffer typically bottlenecks hardware accelerated renderers, some approached amortize the next frame's rendering while displaying the previous. Others resort to a coarser approximation on a CPU to completely avoid the memory lock on a GPU.
Animated gases are an indispensable component in special effects. However, the means of directing their intrinsically chaotic, turbulent behavior remains an open problem. Subtle and dramatic effects can be achieved practically with fog machines, pyrotechnics, and other means of capturing real natural phenomena. However, these effects offer only limited control, scale, and safety. Furthermore, it is not uncommon for artistic direction to seek physically-impossible behavior.
Computational gas models relieve the restrictions of physical approaches, but not without introducing new challenges. First, high-resolution detailed models require computational power that may be generally unavailable to the user, or simply require a frustrating length of time to simulate each frame.
Second, realistic gas models are often expressed in a mathematical way that can be generally inconvenient, and possibly unfamiliar, to more artist applications. However, both practical and simulated effects still lack a desirable level of control. While current techniques rely on creatively combining visible gas sources and jets, defining motion and gas structures at a finer level remains an open problem.